package io.terminus.spzx.order.mapper;

import io.terminus.spzx.model.entity.order.OrderInfo;
import org.apache.ibatis.annotations.Mapper;

import java.util.List;

/**
 * @Author lichunlong lcl253137@alibaba-inc.com
 * @Desc 【移动端】订单管理Mybatis Mapper
 * @Date 2024-12-21
 */
@Mapper
public interface OrderMapper {

    /**
     * 保存订单
     *
     * @param orderInfo 订单信息
     */
    void save(OrderInfo orderInfo);

    /**
     * 获取订单信息
     *
     * @param orderId 订单id
     * @return 订单信息
     */
    OrderInfo getById(Long orderId);

    /**
     * 分页查询订单列表
     *
     * @param userId      用户id
     * @param orderStatus 订单状态
     * @return 订单列表
     */
    List<OrderInfo> findUserPage(Long userId, Integer orderStatus);

    /**
     * 根据订单号查询订单
     *
     * @param orderNo 订单编号
     * @return 订单信息
     */
    OrderInfo getByOrderNo(String orderNo);

    /**
     * 更新订单
     *
     * @param orderInfo 订单信息
     */
    void updateById(OrderInfo orderInfo);
}
